home *** CD-ROM | disk | FTP | other *** search
/ Meeting Pearls 1 / Meeting Pearls Vol 1 (1994).iso / installed_progs / text / faqs / x-faq.part4 < prev    next >
Encoding:
Text File  |  1994-05-23  |  53.3 KB  |  1,080 lines

  1. Newsgroups: comp.windows.x,news.answers,comp.answers
  2. Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!spool.mu.edu!sgiblab!swrinde!cs.utexas.edu!uunet!visual!dbl
  3. From: dbl@visual.com (David B. Lewis)
  4. Subject: comp.windows.x Frequently Asked Questions (FAQ) 4/5
  5. Message-ID: <CIE3F4.48n@visual.com>
  6. Followup-To: poster
  7. Summary: useful information about the X Window System
  8. Reply-To: faq%craft@uunet.uu.net (X FAQ maintenance address)
  9. Organization: VISUAL, Inc.
  10. Date: Tue, 21 Dec 1993 14:40:15 GMT
  11. Approved: news-answers-request@MIT.Edu
  12. Expires: Sun, 23 Jan 1994 00:00:00 GMT
  13. Lines: 1064
  14. Xref: senator-bedfellow.mit.edu comp.windows.x:77386 news.answers:16064 comp.answers:3114
  15.  
  16. Archive-name: x-faq/part4
  17. Last-modified: 1993/12/20
  18.  
  19. ----------------------------------------------------------------------
  20. Subject:  84)! Where can I get X-based project-management software?
  21.  
  22. Vendor                            Product        Contact Information 
  23. ------                -------        -------------------
  24. Productivity Solutions        Ultra Planner    617-237-1600
  25. Quality Software Products     MasterPlan Version, 310-410-0303 sales@qsp.com
  26. Digital Tools, Inc.        AutoPLAN    408-366-6920, 800-755-0065
  27. NASA                COMPASS        404-542-3265,
  28.                         service@cossack.cosmic.uga.edu
  29. GEC-Marconi Software Systems    GECOMO Plus    703-648-1551
  30. GEC-Marconi Software Systems    SIZE Plus    703-648-1551
  31. TEI, Inc            VUE        408-985-7100
  32. Mantix                Cascade        703-506-8833
  33. Advanced Management Solutions    Schedule Publisher    800-397-6829
  34. Auburn University        ??        ??
  35.  
  36. [thanks to Pete Phillips; 7/92]
  37. [thanks to Atul Chhabra (atul@nynexst.com); 10/92]
  38.  
  39. Pete Phillips (pete@smtl.demon.co.uk) posts to comp.sources.wanted a    
  40. FAQ on project-management programs.
  41.  
  42. ----------------------------------------------------------------------
  43. Subject:  85)  Where can I get an X-based PostScript previewer?
  44.  
  45.     Ghostscript is distributed by the Free Software Foundation 
  46. (617-876-3296) and includes a PostScript interpreter and a library of graphics
  47. primitives. Version 2.6.1(.4) is now available; the major site is 
  48. prep.ai.mit.edu, although ftp.cs.wisc.edu is also recommended. [6/93]
  49. Version 3.0 is scheduled for December; it will include a full implementation
  50. of PostScript Level 2.
  51.  
  52.     GSPreview (by the Computing Laboratory of the University of Kent at 
  53. Canterbury) is an X user interface (WCL-based) to the Ghostscript 2.4-2.6
  54. interpreter.  The source is available for anonymous ftp from 
  55. ftp.x.org as gspreview.2.3.tar.Z. [6/93]
  56.  
  57.     GhostView (by Tim Theisen, tim@cs.wisc.edu) is full-function user 
  58. interface for GhostScript. Check ftp.cs.wisc.edu or prep.ai.mit.edu for 
  59. /pub/ghostview-1.5.tar.Z [7/93]. There are also several executables available
  60. on ftp.cs.wisc.edu:/pub/X/ghostview-exe for various architectures.
  61.  
  62.     XPsView is a Motif wrapper around PsView, which is a X11 DSC Document
  63. viewer that can use both XDPS and GhostScript as the interpreter engine. An
  64. early version was an the Alpha Freeware CD. More recent versions are on
  65. gatekeeper.dec.com in /pub/DEC/PRL/psview-1.29.tar.Z.
  66.  
  67. Also:
  68.  
  69.     ScriptWorks is Harlequin's software package for previewing and printing
  70. PostScript(R) descriptions of text and graphics images; previewers for X are 
  71. available. For information call +44-223-872522 or send email to 
  72. scriptworks-request@harlqn.co.uk.
  73.  
  74.     Image Network's Xps supports the full PostScript language and renders
  75. in color, grayscale, or monochrome. Fonts displayed are anti-aliased. Info:
  76. Image Network, +1 415 967 0542.
  77.  
  78.     Digital's dxpsview runs on UWS 2.1 and 2.2.
  79.  
  80.     Sun's pageview runs with the X11/NeWS server. 
  81.  
  82.     Showpage, the PostScript previewer from Adobe Systems, is available
  83. from ICS as part of the Display PostScript System for Sun Solaris 1 (SunOS).
  84. More information is available from ICS at info@ics.com, or +1 617 621 0060,
  85. or Fax at +1 617 621 9555.
  86.  
  87. ----------------------------------------------------------------------
  88. Subject:  86)  Where can I get an X-based GKS package?
  89.  
  90.     The latest freely-available XGKS can be obtained from 
  91. xgks-request@unidata.ucar.edu; this is a 2c implementation derived from the 
  92. X11R4 contrib XGKS from IBM and the University of Illinois. The release
  93. is on unidata.ucar.edu [128.117.140.3] as pub/xgks.tar.Z. [12/90]
  94.     In addition, Grafpak-GKS is available from Advanced Technology Center
  95. (714-583-9119).
  96.     GKSUL is available from gks@ulowell.edu (ULowell CS department). It is
  97. a 2b implementation which includes drivers for a variety of devices. It can be 
  98. passed an X window ID to use. The package includes both C and Fortran bindings.
  99.  
  100. [11/90; from dsrand@mitre.org and from stew@hanauma.stanford.edu]
  101.  
  102.     An XgksWidget is produced by Neil Bowers (neilb@leeds.dcs; 
  103. neilb@dcs.leeds.ac.uk); the latest [10/91] conforms with the new version of 
  104. XGKS (2.4). It is available on ftp.x.org in contrib/xgks-widget.tar.Z. 
  105.  
  106. ----------------------------------------------------------------------
  107. Subject:  87)  Where can I get an X-based GL package?
  108.  
  109.     Xgl 2.0 is available [11/93] from ftp.thp.Uni-Duisburg.DE 
  110. (134.91.32.1), in files pub/source/X11/Xgl-2.0.tar.{Z|gz}.
  111.     Certain vendors (SGI, IBM) are offering a GL package for X.
  112.  
  113. ----------------------------------------------------------------------
  114. Subject:  88)  Where can I get an X-based PEX package?
  115.  
  116.     The first official release of PEX is with X11R5; fix-22 brings the
  117. Sample Implementation server to version 5.1.
  118.  
  119.     The final PEX 5.1 Protocol specification is now available via anonymous
  120. ftp to ftp.x.org, in the directory /pub/DOCS/PEX/. Changes made from the 
  121. Public Review draft are listed in the file "5.1P_changes" in that directory. 
  122. [9/92]
  123.  
  124.     The final PEXlib 5.1 document is on ftp.x.org in pub/DOCS/PEXlib. 
  125. [11/92]
  126.  
  127.     There is now available from the University of Illinois an 
  128. implementation of the PEX 4.0 specification called UIPEX. It contains a "near-
  129. complete" implementation of PHiGS and PHiGS PLUS. The file 
  130. pub/uipex/uipex.tar.Z is on a.cs.uiuc.edu (128.174.252.1); the porting platform
  131. was an RT running 4.3.  Questions and comments can to go uipex@cs.uiuc.edu. 
  132.  
  133.     In addition, the PEXt toolkit by Rich Thomson (rthomson@dsd.es.com) is 
  134. available on ftp.x.org as PEXt.tar.Z; it includes a PEX widget making it 
  135. easier to include PEX in Xt-based programs.
  136.  
  137. ----------------------------------------------------------------------
  138. Subject:  89)  Where can I get an X-based TeX or DVI previewer?
  139.  
  140.     The xtex previewer for TeX files is available from a number of archive 
  141. sites, including uunet; the current version is usually on ftp.cs.colorado.edu
  142. (128.138.204.31) in SeeTeX-2.18.5.tar.Z; pre-converted fonts are also on that 
  143. machine. The distribution all includes "mftobdf" which converts PK, GF, and PXL
  144. fonts to BDF format, where they can then be compiled for use by your local X
  145. server. 
  146.     The xdvi dvi-previewer is fairly comprehensive and easy to use. It is 
  147. also available from a number of sites, including uunet and ftp.x.org; current 
  148. version is patchlevel 16 [12/92].
  149.  
  150. ----------------------------------------------------------------------
  151. Subject:  90)! Where can I get an X-based troff previewer?
  152.  
  153.     X11R4 has two previewers for device-independent troff: the supported 
  154. client xditview, and the contributed-but-well-maintained xtroff. An earlier 
  155. version of xtroff also appeared on the R3 contributed source. xditview is also
  156. in the R5 distribution.
  157.     In addition, the xman client can be used to preview troff documents
  158. which use the -man macros (i.e. man pages).
  159.     If psroff is used its output can be viewed with a PostScript previewer.
  160.  
  161.     Groff, a C++-based [tn]roff document formatter from the Free Software
  162. Foundation, includes an X-based document previwer based probably on xditview.
  163. Groff can put out both dvi and PostScript, so xdvi or GhostView can be used
  164. to preview formatted documents.
  165.  
  166. In addition:
  167.  
  168.     xproof, an X previewer for ditroff has been contributed by Marvin 
  169. Solomon (solomon@cs.wisc.edu); version 3.5 is available on ftp.x.org in 
  170. contrib/xproof*.     [8/90]
  171.  
  172.     Elan Computer Group (CA: 415-964-2200) produces eroff, a modified 
  173. troff implementation, and Elan/Express, an X11 eroff previewer.
  174.  
  175.     SoftQuad (416-963-8337; USA only 800-387-2777, mail@sq.uu.net or
  176. mail@sq.com) offers SoftQuad Publishing Software, including a substantially-
  177. rewritten troff formatter, a better intermediate language with backwards 
  178. compatibility, and an X11[R3,R4] previewer. (This is the package adopted by 
  179. AT&T's own MIS department, and used in and re-sold by many parts of AT&T). 
  180. [information from Ian Darwin, SoftQuad (ian@sq.com) 3/90]
  181.  
  182.     Image Network (1-800-TOXROFF; CA: 415-967-0542) offers the Xroff 
  183. package, which includes a fine modified troff implementation and a set of 
  184. X11-based page previewers. (This is the package OEM'ed by several hardware 
  185. vendors.)
  186.  
  187. [mostly courtesy moraes@cs.toronto.edu (Mark Moraes)] [2/90]
  188.  
  189. ----------------------------------------------------------------------
  190. Subject:  91)! Where can I get a WYSIWYG interface builder (or other shortcuts)?
  191.  
  192.     A new release of the DIRT interface builder by Richard Hesketh works 
  193. with X11R5 and includes some support for the Motif widget set. From the README:
  194.   This builder allows the interactive creation and rapid prototyping of X user
  195.   interfaces using the X Toolkit and a number of Widget Sets.  Dirt generates
  196.   "Wc - Widget Creation" resource files and this distribution also includes the
  197.   Widget Creation Library (version 1.06, with the exception of the demos and
  198.   Mri/Ari source code) with the kind permission of its author David E. Smyth.
  199. Check dirt.README, dirt.A2.0.tar.Z, and dirt.PS.Z on ftp.x.org.
  200.  
  201.     The InterViews 3.0.1 C++ toolkit contains a WYSIWIG interface builder 
  202. called ibuild. ibuild generates code for an InterViews application complete 
  203. with Imakefile and an X-resource file. Documentation is /pub/papers/ibuild.ps 
  204. on interviews.stanford.edu (36.22.0.175).
  205.     Quest Windows's (408-496-1900) ObjectViews C++ package includes an
  206. interactive building tool. 
  207.  
  208.     Druid (Demonstrational Rapid User Interface Development) runs on SPARC 
  209. machines using OSF/Motif 1.0; it is intended eventually to be a full UIMS but 
  210. apparently now has only support for creating the presentation components, for 
  211. which it generates C/UIL code. Info: Singh G, Kok CH, Ngan TY, "Druid: A System
  212. for Demonstrational Rapid User Interface Development". Proc. ACM SIGGRAPH Symp 
  213. on User Interface Software and Technology (UIST'90). ACM, NY, 1990, pp:167-177.
  214.  
  215.     The BYO interface builder is implemented in tcl; it is probably 
  216. obsolete.
  217.     The XF builder (version 2.2) is a TCL builder; versions are on
  218. barkley.berkeley.edu. You may subscribe to a mailing list by sending
  219. "sub xf-l <Your name>" to listserv@tubvm.cs.tu-berlin.de.
  220.  
  221.     ADEW in the Andrew User Interface System supports WYSIWYG user
  222. interface construction with the full selection of AUIS insets, including text,
  223. rasters, tables, and the usual interactors.  Semantics can be coded in C or in
  224. Ness, the AUIS extension language.
  225.  
  226. Also:
  227.     In addition, these commercial products (unsorted) are available in 
  228. final or prerelease form [the * following the product name indicates that the 
  229. product is known to allow the designer to specify for each widget whether a 
  230. particular resource is hard-coded or written to an application defaults file,
  231. for at least one form of output]. Some are much more than user-interface tools;
  232. some are full user interface management systems; information on most is not
  233. up-to-date:
  234.  
  235. Product Name        Look/Feel    Code Output        Vendor
  236.  
  237. HP Interface        Motif 1.1    C(Xm)            HP/Visual Edge
  238.  Architect/ UIMX    
  239. OPEN LOOK Express    OPEN LOOK    C(Xol+ helper lib)    AT&T /
  240.                                 Visual Edge
  241. UIMX 2.0 *        Motif 1.1    C(Xm + helper code)    Visual Edge
  242.                                 514-332-6430
  243.                                 & distributors
  244. X-Designer 1.1 *    Motif 1.1    C(Xm); C/UIL        Imperial
  245.                                 Software
  246.                                 Technology, Ltd
  247.                                   (+44 734 587055)
  248.                                 sales@ist.co.uk
  249. XFaceMaker2 (XFM2) *     Motif 1.0    C;C/script (C-like procedural 
  250.                     language);C/UIL
  251.                                  NSL 
  252.                             (33 1 43 36 77 50)
  253.                             requests@nsl.fr
  254. Builder Xcessory 3.0 *    Motif 1.2    C(Xm); C/UIL[r/w]    ICS 
  255.                     Ada; and reads GIL    (617-621-0060)
  256.                                 info@ics.com
  257. Builder Xcessory 2.6 *    Motif 1.1    C(Xm); C/UIL[r/w]    DEC
  258.                     [VMS; OSF/1]        (1-800-DIGITAL)
  259. XBUILD 1.1 *        Motif 1.0    C(Xm); C/UIL         Nixdorf    
  260.                                 (617-864-0066)
  261.                             xbuild@nixdorf.com
  262. iXBUILD            Motif 1.1    C(Xm); C/UIL        iXOS Software
  263.                                 karl@ixos.uucp
  264.                                 089/461005-69
  265. TeleUSE 2.1 *        Motif 1.1.5    C(Xm); C/UIL[r/w]    Alsys(TeleSoft)
  266.                                 (619-457-2700)
  267.                             gui_info@telesoft.com
  268.                             in Germany: in GmbH,
  269.                             +49 7531 65022, 
  270.                             gvr@in-gmbh.de
  271. ezX 3.2            Motif 1.1    C(Xm +helper lib);C/UIL;Ada
  272.                                 Sunrise
  273.                                 (401-847-7868)
  274.                                    info@sunrise.com
  275. Snapix            Motif        C/Xm            ADNT
  276.                                 +33 1 3956 5333
  277. OpenWindows Developers    OPEN LOOK     GIL [-> C/XView]    Sun
  278. Guide 3.0                GIL [-> C++/XView]
  279.                     GIL [-> C/OLIT]
  280.                     GIL [-> C/PostScript for TNT]
  281. ExoCode/SXM        Motif        C(Xm)            Expert Object
  282. ExoCode/Plus        OPEN LOOK    XView            708-676-5555
  283. TAE+            Xw;Motif    C(Xw,Xm); C/TCL (TAE Control Language,
  284.                     like UIL[needs helper library]);
  285.                     VAX Fortran; Ada; C++
  286.                                 Nasa Goddard
  287.                                 (301) 286-6034
  288. MOB, XSculptor        Motif; OpenLook    C/Xm,UIL; C/Xol        Kovi
  289.                                 408-982-3840
  290. PSM            PM, MSW 3.0,    C/UIL            Lancorp
  291.             Motif 1.1.2,Mac                Pty Ltd.
  292.                                 +61 3 629 4833
  293.                                 Fax:  629 1296
  294.                                 (Australia)
  295. MOTIFATION *        Motif 1.1.x|1.2    C(Xm)            PEM Stuttgart
  296.                                +49 (0) 0711/713045
  297.                                +49 (0) 0711/713047 fax
  298.                             basien@pem-stuttgart.de
  299. UIB            Open Look/Motif    C++(OI)            ParcPlace 
  300.                                 +1 303-678-4626
  301. ILOG BUILDER        Motif                    ILOG
  302.                                 1 415 390 9000
  303.                                 info@ilog.com
  304. XVT-Design        Motif,OL,Windows,&c            XVT
  305.                                 303-443-4223
  306.                                 info@xvt.com
  307. Mimex            Motif 1.2    C(Xm); C/UIL[r/w]    Kernex
  308.                                 408-441-7376
  309.  
  310.                                 
  311. Look for magazine reviews for more complete comparisons of meta-file formats,
  312. documentation, real ease-of-use, etc; Unix World and Unix Review often carry
  313. articles. See also SunExpert 5/93.
  314.  
  315.     ParcPlace is making freely available its popular ObjectBuilder(tm)
  316. and Object Interface (OI(tm)) products for the Linux operating system.
  317. ObjectBuilder is a GUI builder written completely in C++, that enables UNIX
  318. C++ developers to apply the principles of object-orientation to the
  319. development of user interfaces. OI, a C++ class library, provides the toolkit
  320. foundation for ObjectBuilder. OI implements the look-and-feel of both Motif
  321. 1.2 and OPEN LOOK. OI is built directly on top of Xlib and is unencumbered by
  322. runtime royalties to any party.  ObjectBuilder and OI are very extensible,
  323. actively facilitating the use of subclassing to create new, reusable, user
  324. interface components.  Sources are on tsx-11.mit.edu in
  325. /pub/linux/packages/OI and available from ParcPlace (+1 408 481 9090).
  326.  
  327.     In addition, Neuron Data (1 415 321-4488) makes Open Interface, a 
  328. window-system-independent object toolkit which supports interfaces which are 
  329. or resemble (supersets of) Mac, Windows, and Motif and Open Look; the package 
  330. includes an interface builder.
  331.  
  332.     In addition, the GRAMMI builder supports the development of Ada/X 
  333. applications using its own set of objects which have Motif look and feel.
  334. GRAMMI is written in Ada and generates Ada specs and stub bodies.  Call 
  335. 1-800-877-1815 or send mail to info_server@evb.com with subject "send grammi"
  336. [without quotes].
  337.  
  338.     In addition, these non-WYSIWYG but related products may help for goals 
  339. of rapid prototyping of the application interface:
  340.  
  341.     WCL: the Widget Creation Library. Basically describes the widget
  342. hierarchy and actions in a resources file; available from fine archive servers
  343. everywhere, including devvax.jpl.nasa.gov (128.149.1.143) in pub/. Wcl provides
  344. a very thin layer over Xt without any internal tweaking. Version 2.5 is current
  345. [3/93].
  346.     TCL/TK: TK is a Motif-like object set for use with the TCL scripting
  347. language. There is also a package tclMotif on ftp.x.org which may be used to 
  348. add TCL scripting to Motif programs.
  349.     WAFE: Wafe is a package that implements a symbolic interface to the
  350. Athena widgets (X11R5) and OSF/Motif.  A typical Wafe application consists of
  351. two parts: a front-end (Wafe) and an application program which runs typically
  352. as a separate process. The application program can be implemented in an
  353. arbitrary programming language and talks to the front-end via stdio.  Since
  354. Wafe (the front-end) was developed using the extensible TCL shell, an
  355. application program can dynamically submit requests to the front-end to build
  356. up the graphical user interface; the application can also down-load
  357. application specific procedures into the front-end, which can be executed
  358. without interaction with the application program. Wafe is available from
  359. ftp.wu-wien.ac.at:pub/src/X11/wafe/wafe-0.96.tar.gz [10/93].
  360. wafeperl 0.2, which links Perl 4.036 to Wafe 0.96, is available [12/93] from 
  361. ftp.wu-wien.ac.at in pub/src/X11/wafe/wafeperl-0.2.tar.gz.
  362.     XGEN: a scripting language which can be used to prototype Motif 
  363. environments; available on ftp.x.org.
  364.     WINTERP: an Xlisp-based Motif toolkit allows for interpretive 
  365. programming. The copy on the R4 tape is outdated; get a copy off ftp.x.org or 
  366. email to winterp-source%hplnpm@hplabs.hp.com. 
  367.     The Serpent UIMS permits the building of user-interfaces without 
  368. specific knowledge of coding but with an understanding of attributes being set
  369. on a particular [Motif] widget.  Beta Release 1.2 is available from 
  370. ftp.sei.cmu.edu (128.237.1.13) and can be found in /pub/serpent.  Serpent is 
  371. also available on ftp.x.org (18.24.0.11) in /contrib/serpent. Email questions 
  372. can go to serpent@sei.cmu.edu. A commercial version of Serpent is available as 
  373. "Agora" from ASET, 221 Woodhaven Drive, Pittsburgh, PA 15228.
  374.     Garnet is a Common Lisp-based GUI toolkit. Information is available 
  375. from garnet@cs.cmu.edu.
  376.     MetaCard is a hypertext/Rapid Application Development environment
  377. similar to Apple/Claris Corporation's HyperCard (info@metacard.com). MetaCard 
  378. is available via anonymous FTP from ftp.metacard.com, csn.org, or 
  379. 128.138.213.21. (Mailing list: listserv@grot.starconn.com).
  380.  
  381. Articles comparing these tools include:
  382.     UnixWorld 5/92; SunWorld 12/92; LAN Computing 12/92; SunExpert 5/93.
  383.  
  384. ----------------------------------------------------------------------
  385. Subject:  92)! Where can I find X tools callable from shell scripts?
  386. I want to have a shell script pop up menus and yes/no dialog boxes if the user 
  387. is running X.
  388.  
  389.     Several tools in the R3 contrib/ area were developed to satisfy these
  390. needs: yorn pops up a yes/no box, xmessage displays a string, etc. There are
  391. several versions of these tools; few, if any, have made it to the R4 contrib/ 
  392. area, though they may still be available on various archive sites.
  393.     In addition, Richard Hesketh (rlh2@ukc.ac.uk) has posted the xmenu
  394. package to comp.sources.x ("v08i008: xmenu") for 1-of-n choices.  [7/90]
  395.     Two versions of XPrompt have been posted to comp.sources.x, the latter
  396. being an unauthorized rewrite. [R. Forsman (thoth@reef.cis.ufl.edu), 1/91]
  397.     There is a version of XMenu available from comp.sources.x; it is
  398. being worked on and will likely be re-released.
  399.     xp-1.1.tar.Z, xpick-1.0.tar.Z and xzap-1.0.tar.Z on ftp.x.org's 
  400. contrib/ are tools by Gerry.Tomlinson@newcastle.ac.UK which act as X versions
  401. of the simple display and choice-making tools in K&P. [4/92]
  402.     xtpanel lets the user build a panel containing interactive objects such
  403. as buttons, sliders, text fields, etc., either from the command line or using a
  404. simple scripting language. It is available for anonymous ftp from 
  405. hanauma.Stanford.EDU (36.51.0.16) as pub/X/xtpanel-3.01.tar.Z and may also be 
  406. found in the alt.sources archives.
  407.  
  408. ----------------------------------------------------------------------
  409. Subject:  93)  Where can I get an X-based debugger?
  410.  
  411.     xdbx, an X interface to the dbx debugger, is available via ftp from 
  412. ftp.x.org. The current [1/91] version is 2.1 patchlevel 2.
  413.     An X interface to gdb called xxgdb is more like xdbx 2.1.2. It is part 
  414. of comp.sources.x volume 11 [2/91]; xxgdb-1.06.tar.Z is on ftp.x.org.
  415.     mxgdb is a Motif interface to gdb by Jim Tsillas 
  416. (jtsillas@proteon.com); version 1.2 was released 11/93.
  417.     UPS is a source-level debugger which runs under the X11 and SunView
  418. window systems on Sun and DEC platforms. It is available from ftp.x.org 
  419. (18.24.0.11) as contrib/ups-2.45.tar.Z (also ups-2.45-to-2.45.2.patch.Z)
  420. and unix.hensa.ac.uk (129.12.21.7) in /pub/misc/unix/ups (or try mail to 
  421. archive@unix.hensa.ac.uk). [10/92] Unofficial fixes by Rod Armstrong 
  422. (rod@sj.ate.slb.com) are on unix.hensa.ac.uk in 
  423. /misc/unix/ups/contrib/rod@sj.ate.slb.com.
  424.  
  425. Also:
  426.     MIPS produces a highly-customizable (WCL-based) Visual Debugger.
  427.     You should be able to use Sun's dbxtool with its X11/NeWS server.
  428.     The CodeCenter (617-498-3000) source-level debugger, available on most
  429. major platforms, includes an X-based interface.
  430.     AT&T offers the eXamine Graphical Interface, an X11 interface to dbx
  431. and C++ dbx for Sun3 and Sun4 and sdb and sdb++ for 386 and 3B2 platforms. Call
  432. 1-508-960-1997 or contact examine@mvuxi.att.com for more information.
  433.         Solbourne (+1 303-678-4626) offers PDB, its X-based debugger for C, C++
  434. and Fortran.  PDB uses the OI toolkit and runs in either Open Look or Motif 
  435. mode. 
  436.     SCO (info@sco.com) offers dbXtra as part of several development 
  437. systems.
  438.         Lucid's Energize Programming System, a tightly integrated development
  439. environment for C and C++ programs, incorporates a graphical user interface on
  440. top of an extended version of gdb. Info:  lucid-info@lucid.com, or
  441. (800) 223-9322.
  442.  
  443. ----------------------------------------------------------------------
  444. Subject:  94)! How can I "tee" an X program identically to several displays? 
  445.  
  446.     There are several protocol multiplexer tools which provide for the 
  447. simultaneous display of X clients on any number of machines.
  448.     XMX (an X Protocol Multiplexor) is available from wilma.cs.brown.edu 
  449. (128.148.33.66) as pub/xmx.tar.Z It works independently of the server and does
  450. not affect the application being shared; it was developed for use in the
  451. electronic classroom. An update is expected soon [5/93].
  452.     XTV is a conference program which can be used to duplicate the
  453. "chalkboard" on several displays. Release 1 is available on the X11R5 contrib
  454. tapes; a more recent version is on ftp.cs.odu.edu as pub/wahab/XTV.r2.tar.Z.
  455.     SHX from Michael Altenhofen of Digital Equipment GmbH CEC Karlsruhe 
  456. also does this; it is a "WYSIWIS" (What You See Is What I See) package in the 
  457. context of a computer-based learning/training tool to provide online help from
  458. remote tutors but is also useful for general window sharing. Information: 
  459. shX@nestvx.enet.dec.com.  SHX can be found on ftp.x.org and 
  460.         gatekeeper.dec.com:/pub/X11/contrib/shX.tar.Z, 
  461.         crl.dec.com:/pub/X11/contrib/shX.tar.Z 
  462. Modifications to SHX for color mapping and private color allocation by
  463. Mark J. Handley (M.Handley@cs.ucl.ac.uk) are on cs.ucl.ac.uk in 
  464. car/shX.car.tar.Z.
  465.     XTrap is implemented as a server/library extension and can be used
  466. to record and then replay an x session. It is available as
  467. ftp.x.org:/contrib/XTrapV33_X11R5.tar.Z.    
  468.     wscrawl can be used as a "multi-person paint program". It's available
  469. on sax.stanford.edu as wscrawl.shar.Z. Binaries are on doppler.ncsc.org in 
  470. pub/wscrawl.
  471.     Shdr implements a simple shared whiteboard, without a chalk-passing
  472. mechanism. It's available on parcftp.xerox.com as pub/europarc/shdr.tar.Z.
  473.     SketchPad 1.0 (3/93) is a distributed interactive graphical editor 
  474. particularly designed for sketching. Sources have been posted to alt.sources
  475. and are available from ftp.igd.fhg.de (192.44.32.1) in ~ftp/incoming/sketchpad.
  476.     The NESTOR project is described in "Upgrading A Window System For 
  477. Tutoring Functions", Michael Altenhofen et al., the proceedings of the EXUG
  478. Conference 11/90.
  479.  
  480. Also of use:
  481.         Hewlett-Packard Co. has a commercial product, "HP SharedX" which works
  482. under HP-UX currently on their 300, 400, and 700 series workstations and their
  483. HP 700/RX X Stations.  Machines receiving shared windows can be any X server.
  484. HP SharedX consists of a server extensions and a Motif based user interface
  485. process.  Contact your local HP sales rep. for more information.
  486.     IBM offers a commercial product.
  487.     Sun offers multi-user confering software called ShowMe.
  488.     InSoft (Mechanicsburg, PA, USA, 717-730-9501) offers multi-user 
  489. conferencing software called Communique. Version 3.0 is available on Sun and
  490. HP platforms.
  491.     Vartalaap is a multiparty multimedia Conferencing System that works
  492. over Unix sockets; the interfaceis based on XView.  It's available at 
  493. ftp.x.org under contrib/vartalaap.tar.Z.
  494.     Collage is a synchronous collaborative data analysis tool for use
  495. over the Internet.  Features include a shared whiteboard, screen
  496. capture/sharing, a shared text editor, and data-analysis tools.  Sources are
  497. on ftp.ncsa.uiuc.edu (141.142.20.50) in /UNIX/XCollage/Collage1.2.  Version
  498. 1.2 became available 10/93.
  499.  
  500. [Thanks in part to scott@spectra.com (Tim Scott), 5/91, and to Peter Cigehn 
  501. (peter@lulea.trab.se), 8/92 ]
  502.  
  503. ----------------------------------------------------------------------
  504. Subject:  95)! Can I use C++ with X11? Motif? XView?
  505.     
  506.     The X11R4/5 header files are compatible with C++. The Motif 1.1 header 
  507. files are usable as is inside extern "C" {...}. However, the definition of
  508. String in Intrinsic.h can conflict with the libg++ or other String class and
  509. needs to be worked around.
  510.  
  511.     Some other projects which can help:
  512.     WWL, a set of C++ classes by Jean-Daniel Fekete to wrap X Toolkit 
  513. widgets, available via anonymous FTP from ftp.x.org as contrib/WWL-1.2.tar.Z 
  514. [7/92] or lri.lri.fr (129.175.15.1) as pub/WWL-1.2.tar.Z.  It works by 
  515. building a set of C++ classes in parallel to the class tree of the widgets.
  516.     The C++ InterViews toolkit is obtainable via anonymous FTP from 
  517. interviews.stanford.edu. InterViews uses a box/glue model similar to that of 
  518. TeX for constructing user interfaces and supports multiple looks on the user 
  519. interfaces. Some of its sample applications include a WYSIWIG document editor 
  520. (doc), a MacDraw-like drawing program (idraw) and an interface builder 
  521. (ibuild).
  522.     THINGS,  a class library written at the Rome Air Force Base by the 
  523. Strategic Air Command, available as freeware on archive sites.
  524.  
  525.     Motif++ is a public-domain library that defines C++ class wrappers for
  526. Motif 1.1 and 1.2; it adds an "application" class for, e.g., initializing X,
  527. and also integrates WCL and the Xbae widget set. This work was developed by
  528. Ronald van Loon <rvloon@cv.ruu.nl> based on X++, a set of bindings done by
  529. the University of Lowell Graphics Research Laboratory. The current sources
  530. are available from decuac.dec.com (192.5.214.1) in
  531. /pub/X11/motif++.28.jul.93.tar.gz.  Send to motif++-request@cv.ruu.nl to be
  532. added to the mailing list.
  533.  
  534.     Xm++ is a user interface framework for C++ using the Motif and Athena
  535. toolkits.  Source is on ftp.x.org as contrib/Xm++.0.52.tar.Z; or email to 
  536. xmplus@ani.univie.ac.at.
  537.     
  538.     The source code examples for Doug Young's "Object-Oriented Programming 
  539. with C++ and OSF/Motif" [ISBN 0-13-630252-1] do not include "widget wrappers" 
  540. but do include a set of classes that encapsulates higher-level facilities 
  541. commonly needed by Motif- or other Xt-based applications; check ftp.x.org in
  542. ~ftp/contrib/young.c++.tar.Z.
  543.     Rogue Wave offers "View.h++" for C++ programmers using Motif; info:
  544. 1-800-487-3217 or +1 503 754 2311.
  545.     A product called "Commonview" by Glockenspiel Ltd, Ireland (??) 
  546. apparently is a C++-based toolkit for multiple window systems, including PM,
  547. Windows, and X/Motif.
  548.     Xv++ is sold by Qualix (415-572-0200; fax -1300); it implements an 
  549. interface from the GIL files that Sun's OpenWindows Developers Guide 3.0 
  550. produces to Xview wrapper classes in C++.
  551.  
  552.     UIT is a set of C++ classes embedding the XView toolkit; it is intended
  553. for use with Sun's OpenWindows Developers Guide 3.0 builder tool. Sources are 
  554. on ftp.x.org as UIT.tar.Z. Version 2 was released 5/28/92.
  555.     
  556.     Also of likely use is ObjectCenter (Saber-C++). And a reasonable
  557. alternative to all of the above is ParcPlace's (formerly Solbourne's) Object 
  558. Interface.
  559.  
  560. [Thanks to Douglas S. Rand (dsrand@mitre.org) and George Wu (gwu@tcs.com);2/91]
  561.  
  562. ----------------------------------------------------------------------
  563. Subject:  96)! Where can I obtain alternate language bindings to X/Xt/Motif?
  564.  
  565.     Versions of the CLX Lisp bindings are part of the X11 core source 
  566. distributions. A version of CLX is on the R5 tape [10/91]; version 5.0.2 [9/92]
  567. is on ftp.x.org in /contrib/CLX.R5.02.tar.Z.
  568.  
  569.     The SAIC Ada-X11 bindings are through anonymous ftp in /pub from
  570. stars.rosslyn.unisys.com (128.126.164.2) [perhaps
  571. falcon.stars.ballston.paramax.com (129.204.6.253)?]
  572.     There is an X/Ada study team sponsored by NASA JSC, which apparently is
  573. working out bindings. Information: xada@ghg.hou.tx.us.
  574.     GNU SmallTalk has a beta native SmallTalk binding to X called STIX (by
  575. Steven.Byrne@Eng.Sun.COM). It is still in its beginning stages, and 
  576. documentation is sparse outside the SmallTalk code itself. The sources are 
  577. available as /pub/gnu/smalltalk-1.1.1.tar.Z on prep.ai.mit.edu (18.71.0.38) or 
  578. ugle.unit.no (129.241.1.97).
  579.     Prolog bindings (called "XWIP") written by Ted Kim at UCLA while
  580. supported in part by DARPA are available by anonymous FTP from
  581. ftp.x.org:contrib/xwip.tar.Z or ftp.cs.ucla.edu:pub/xwip.tar.Z.
  582. These prolog language bindings depend on having a Quintus-type foreign function
  583. interface in your prolog. The developer has gotten it to work with Quintus and 
  584. SICStus prolog. Inquiries should go to xwip@cs.ucla.edu. [3/90]
  585.     Scheme bindings to Xlib, OSF/Motif, and Xaw are part of the Elk
  586. distribution; version 1.5a on ftp.x.org obsoletes the version on the R5 contrib
  587. tape. 
  588.     TCL bindings to Motif 1.[12] by Jan Newmarch 
  589. (jan@pandonia.canberra.edu.au) are on csc.canberra.edu.au and ftp.x.org. 
  590. Version 0.8 became available 11/93.
  591.     x-scm, a bolt-on accessory for Aubrey Jaffer's "scm" Scheme interpreter
  592. that provides an interface to Xlib, Motif, and OpenLook, is now available via 
  593. FTP from altdorf.ai.mit.edu:archive/scm/xscm1.05.tar.Z and 
  594. nexus.yorku.ca:pub/scheme/new/xscm1.05.tar.Z.
  595.  
  596.     Poplog V14.2 is offered by Integral Solutions Ltd. (Phone +44 (0)256
  597. 882028; Fax +44 (0)256 882182; Email isl@integ.uucp); it is an integrated
  598. programming environment consisting of the programming languages Pop-11,
  599. Prolog, Standard ML, and Lisp which are compiled to machine code via a common
  600. virtual machine. Pop-11 provides an interface to the X Toolkit which can be
  601. accessed from all other Poplog languages. The OLIT, Motif, and Athena widget
  602. sets are supported, in addition to the custom Poplog (Xpw) widget set.
  603. High-level Pop-11 libraries allow graph drawing, turtle graphics, and the
  604. simple creation of basic button/menu based interfaces.
  605.  
  606.     Ada bindings to Motif, explicitly, will eventually be made available by
  607. the Jet Propulsion Laboratories, probably through the normal electronic
  608. means.  Advance information can be obtained from dsouleles@dsfvax.jpl.nasa.gov,
  609. who may respond as time permits.
  610.     AdaMotif is a complete binding to X and Motif for the Ada language, for
  611. many common systems; it is based in part upon the SAIC/Unisys bindings and also
  612. includes a UIL to Ada translator. Info: Systems Engineering Research 
  613. Corporation, 1-800-Ada-SERC (well!serc@apple.com).
  614.  
  615.     TCL bindings for Motif by Jan Newmarch (jan@pandonia.canberra.edu.au)
  616. are available from csc.canberra.edu.au and ftp.x.org.
  617.  
  618.     Also: the MIT Consortium, although not involved in producing Ada
  619. bindings for X, maintains a partial listing of people involved in X and Ada;
  620. information is available from Donna Converse, converse@x.org.
  621.  
  622. ----------------------------------------------------------------------
  623. Subject:  97)  TOPIC: BUILDING THE X DISTRIBUTION [topic needs updating to R5]
  624. ----------------------------------------------------------------------
  625. Subject:  98)  What's a good source of information on configuring the X build?
  626.  
  627.     This FAQ includes information on a number of "gotchas" that can bite 
  628. you on particular system. However, the best source of general information on 
  629. building the X11 release is found in the Release Notes. The file is bundled 
  630. separately from the rest of the release, so if it's become separated from your 
  631. sources you can FTP another copy separately: the file RELNOTES.[ms,PS,TXT] at 
  632. the top of the distribution. The file RELNOTES is also available from the 
  633. xstuff mail server.
  634.     In addition, O'Reilly & Associates's Volume 8 on X Administration
  635. includes information on configuring and building X.
  636.  
  637. ----------------------------------------------------------------------
  638. Subject:  99)  Why doesn't my Sun with a cg6 work with R5?
  639.  
  640.     Apparently gcc is the problem; it seems to produce fine code for all
  641. Sun displays except for the cgsix. The new sunGX.o distributed with fix-07 
  642. may fix the problem (note: not known to work on Solaris).
  643.  
  644. ----------------------------------------------------------------------
  645. Subject: 100)  Why doesn't my Sun with SunOS 4.1 know about _dlsym, etc.?
  646.  
  647.     If you get errors with _dlsym _dlopen _dlclose undefined, link with 
  648. libdl.a.  Add "-ldl" to your and eventually to your site.def.  You may want to 
  649. surround it with "-Bstatic -ldl -Bdynamic" if you add it to the EXTRA_LIBRARIES
  650. variable, since "syslibs" get added after EXTRA_LIBRARIES on the eventual 
  651. compilation command; otherwise you may not have a shared libdl.  (Or compile 
  652. the stubs shared.)
  653.  
  654. [thanks to Joe Backo (joe.backo@East.Sun.COM), 12/91]
  655.  
  656. ----------------------------------------------------------------------
  657. Subject: 101)  What is this "_get_wmShellWidgetClass undefined" error?
  658.  
  659.     In SunOS 4.1.2 Sun fixed a shared-library bug in ld which conflicts
  660. with the way X builds the shared Xmu library, causing these symbols, notably, 
  661. to be undefined when building some X11 clients on SunOS 4.1.[23]: 
  662.     _get_wmShellWidgetClass
  663.     _get_applicationShellWidgetClass
  664. Compiling "-Bstatic -lXmu -Bdynamic" is overkill; be sure to set
  665. OSTeenyVersion correctly in the config/sun.cf file and rebuild X11R5.
  666.  
  667. To solve the problem if you are using OpenWindows 3.0 (X11R4-based Xt), please 
  668. contact your local Sun office and request the following patches:
  669.  
  670. Patch i.d.      Description
  671. 100512-02       4.1.x OpenWindows 3.0 libXt Jumbo patch
  672. 100573-03       4.1.x OpenWindows 3.0 undefined symbols when using
  673.                         shared libXmu
  674.  
  675. [Greg Earle, earle@Sun.COM; 7/92] 
  676.  
  677. A source patch for use with the X11R4 libraries was developed by Conrad 
  678. Kimball (cek@sdc.boeing.com); it retrofits into R4 some fixes made in R5 to
  679. get around this problem. The patch is on ftp.x.org in [1/93]
  680.     contrib/X11R4_sunos4.1.2_patch_version3.Z
  681.  
  682. ----------------------------------------------------------------------
  683. Subject: 102)+ What's this problem with undefined _X symbols on SunOS 4.1.3?
  684.  
  685.         Make sure to set the OSTeenyVersion in the mit/config/sun.cf file
  686. if you see that vast numbers of Xlib functions are undefined:
  687.  
  688.   >cc -o bmtoa bmtoa.o -O -pipe  -L../.././lib/Xmu -lXmu -L/work1/X11R5/lib
  689.   >ld: Undefined symbol
  690.   >   _XGetVisualInfo
  691.   >   _XFree
  692.  
  693. ----------------------------------------------------------------------
  694. Subject: 103)+ Why does cc get used when I build X11R5 with gcc?
  695.  
  696.     When X11R5 was written gcc (version 1.X) did not support shared 
  697. libraries. Those parts requiring shared libraries are compiled with cc, those 
  698. that don't are compiled with gcc.
  699.   
  700. ----------------------------------------------------------------------
  701. Subject: 104)  Why can't gcc 1.x compile X11R4 on my SPARC?
  702. I used gcc to compile the whole distribution, but I get several segmentation
  703. faults when running X.
  704.  
  705.     Note first that gcc on RISC machines does not necessarily result in
  706. any performance increase; it certainly is not as noticeable as it is on the
  707. 680x0 or VAX platforms.
  708.  
  709.     Here is the problem: gcc and cc use incompatible methods of passing 
  710. structures as arguments and returning them as function values, so when 
  711. gcc-compiled parts of X are linked with Sun-supplied functions that pass or 
  712. return structs, run-time errors occur.  Affected programs include rgb and 
  713. the server.
  714.  
  715.     This is from the GCC manual:
  716.  
  717.     On the Sparc, GNU CC uses an incompatible calling convention for 
  718.     structures.  It passes them by including their contents in the argument
  719.     list, whereas the standard compiler passes them effectively by 
  720.     reference.
  721.  
  722.     This really ought to be fixed, but such calling conventions are not yet
  723.     supported in GNU CC, so it isn't straightforward to fix it.
  724.  
  725.     The convention for structure returning is also incompatible, and
  726.     `-fpcc-struct-return' does not help.
  727.  
  728. You can duck the problem either by using cc throughout or by using it for just
  729. the routines which cause incompatibilities; the problem cannot be solved with 
  730. compilation flags.  
  731.  
  732.     Files which need to be compiled using cc include:
  733.         server/os/4.2bsd/oscolor.c 
  734.         rgb/rgb.c
  735.  
  736.     In addition, several of the "inet_" functions use structs as args or
  737. return values:  
  738.         clients/xhost/xhost.c 
  739.         clients/xauth/gethost.c. 
  740. Calls to inet_addr in /lib/CLX/socket.c and lib/X/XConnDis.c are possibly 
  741. harmless as they don't involve structs.
  742.  
  743. [collected by bashford@scripps.edu (Don Bashford); 8/90]
  744.  
  745. ----------------------------------------------------------------------
  746. Subject: 105)  What are these I/O errors running X built with gcc?
  747. When I try to run xinit or the Xsun server I get the error 
  748.     "Getting interface configuration: Operation not supported on socket. 
  749.     Fatal server bug! no screens found."
  750.  
  751.     Running the gcc fixincludes script apparently didn't work. You can do 
  752. this simple test:
  753.  
  754.     #include <sys/ioctl.h>
  755.     SIOCGIFCONF
  756.  
  757. Run that through cc -E and gcc -E.  The last line of output is the piece of 
  758. interest; it should be identical (modulo irrelevant differences like 
  759. whitespace).  If the gcc version has 'x' where the cc version has 'i', your 
  760. fixincludes run didn't work for some reason or other; go back to your gcc
  761. sources and run `fixincludes`; then rebuild the X distribution. If they are 
  762. identical, try running a make clean in mit/server and rebuilding, just to make 
  763. sure everything gets compiled with the proper include files.  
  764.  
  765. [courtesy der Mouse, mouse@LARRY.MCRCIM.MCGILL.EDU; 9/90]
  766.  
  767. ----------------------------------------------------------------------
  768. Subject: 106)  What are these problems compiling X11R4 on the older Sun3?
  769. In mit/server/ddx/sun/sunCG3C.c, we have found "missing" defines for 
  770. CG3AC_MONOLEN, CG3BC_MONOLEN, CG3AC_ENBLEN, CG3BC_ENBLEN. What should these be?
  771.  
  772.     The R4 Errata list distributed after X11R4 mentions that you can add
  773. these lines to the file on older SunOS versions (e.g. 3.5) to compile:
  774.         #define CG3AC_MONOLEN (128*1024)
  775.         #define CG3AC_ENBLEN  CG3AC_MONOLEN
  776.         #define CG3BC_MONOLEN CG3AC_MONOLEN
  777.         #define CG3BC_ENBLEN  CG3AC_MONOLEN
  778.  
  779.     However, the Sun3 should not actually ever have the CG3 device, and so 
  780. references to it can be removed from mit/server/ddx/sun/sunInit.c and the 
  781. Imakefile.  [11/90]
  782.  
  783. ----------------------------------------------------------------------
  784. Subject: 107)  What are these problems compiling the X server on SunOS 4.1.1?
  785. The file <sundev/cg6reg.h> isn't being found.
  786.  
  787.     Sun omitted <sundev/cg6reg.h> from SunOS 4.1.1. Remove the #include 
  788. from sunCG6C.c and replace it with the line 
  789.     #define CG6_VADDR_COLOR   0x70016000
  790. The file has changed from earlier versions of SunOS and should not be copied 
  791. from another distribution.
  792.  
  793. ----------------------------------------------------------------------
  794. Subject: 108)  What are these problems using R4 shared libraries on SunOS 4?
  795. All of the executables that I try to run have the following results:
  796.     ld.so: libXmu.so.4: not found
  797. or even:
  798.     ld.so: call to undefined procedure __GetHostname from 0xf776a96c
  799.  
  800.     If you are building with shared libraries on a Sun, remember that you 
  801. need to run "ldconfig" as root after installing the shared libraries (if you've
  802. installed X on a file-server, run it on the server's clients, too).  While 
  803. building and installing the distribution, you need to be careful to avoid 
  804. linking against any existing X shared libraries you might have (e.g. those 
  805. distributed with OpenWindows).  You should make sure you do not have 
  806. LD_LIBRARY_PATH set in your environment during the build or the installation.  
  807. If you are going to keep xterm and xload as setuid programs, please note that 
  808. the shared libraries must be installed in /usr/lib, /usr/local/lib, or 
  809. /usr/5lib for these programs to work (or else those programs must be linked 
  810. statically). [courtesy X Consortium]
  811.     Note also that the program mkfontdir is run as part of the build; it
  812. attempts, however, to use the shared libraries before they have been installed.
  813. You can avoid the errors by building mkfontdir statically (pass -Bstatic to
  814. most C compilers).
  815.  
  816. ----------------------------------------------------------------------
  817. Subject: 109)  Can OLIT programs run with R5 Xt? (_XtQString undefined)
  818.  
  819. This is a bug in the OLIT.  _XtQString was an external symbol that existed in 
  820. X11R4 (upon which OW 3.0's libXt is based).  It wasn't documented and was 
  821. removed in X11R5 (MIT's guarantee of upward compatibility between the R4 and R5
  822. libraries only applied to the documented interface).  
  823.  
  824. A workaround is to temporarily set your LD_LIBRARY_PATH to point to the X11R4
  825. or OpenWindows Xt library that you linked the program against.
  826.  
  827. [10/92; from Barry Margolin (barmar@think.com); 3/93 from Jeff Francis 
  828. (jpf@heliocentric.com)]
  829.  
  830. ----------------------------------------------------------------------
  831. Subject: 110)  How do I get around the SunOS 4.1 security hole?
  832.  
  833.     There is a security problem with certain R4 clients (xterm and xload)
  834. running under SunOS 4.1 that have been installed setuid root and are using 
  835. shared libraries; to avoid the problem, do one of these:
  836.     1) make the program non-setuid. You should consult your system
  837. administrator concerning protection of resources (e.g. ptys and /dev/kmem) used
  838. by these programs, to make sure that you do not create additional security 
  839. problems at your site.
  840.     2) relink the programs statically (using -Bstatic).
  841.     3) install the libraries before linking and link with absolute paths
  842. to the libraries.
  843.  
  844. [from rws@x.org (Bob Scheifler), 12/90]
  845.  
  846. The R5 version of xterm does this automatically by rebuilding xterm against the
  847. newly-installed libraries when xterm is being installed; this prevents an suid
  848. program from being built with libraries specified relatively. Note that this 
  849. may cause an inconvenience when doing the installation from NFS-mounted disks. 
  850. Xload has been rewritten to avoid the problem.
  851.  
  852. ----------------------------------------------------------------------
  853. Subject: 111)  How do I get around the frame-buffer security hole?
  854.  
  855.     On many systems the frame-buffer is unsecured by default; this permits 
  856. anyone who can log into your workstation to peek at your windowing session by 
  857. accessing the frame-buffer directly, or, as less of a privacy issue but perhaps
  858. more annoying, to [accidentally] start up a second X session on your console 
  859. display. Check the man page for fbtab(5).
  860.  
  861. [Thanks to Art Mulder (art@cs.ualberta.ca); 2/93.]
  862.  
  863. ----------------------------------------------------------------------
  864. Subject: 112)  TOPIC: BUILDING X PROGRAMS 
  865. ----------------------------------------------------------------------
  866. Subject: 113)  What is Imake?
  867.  
  868.     Imake is not a replacement for the make program; instead, it is a
  869. makefile-generator that takes advantages of the include-file and macro-
  870. processing capabilities of the C preprocessor cpp to generate makefiles 
  871. suitable for building software on a particular system. Although it is not 
  872. specific to X, the X release uses it to help solve a number of the 
  873. configuration issues that arise in making such a large system widely portable.
  874.     Imake has a fairly steep learning curve, in part because the process by
  875. which the system-specific configuration files, system-independent configuration
  876. files, and individual Imakefiles are melded to produce a Makefile is not 
  877. obvious.
  878.     There have been several different versions of imake; the R3, R4, and
  879. R5 versions are different.
  880.  
  881.     You can obtain information on imake from these sources:
  882.     - the R4 and R5 release notes and imake man page include information on
  883. using Imake to build X
  884.     - the R4 and R5 file mit/config/README also contains useful information
  885.     - on the R4 tapes, contrib/doc/imake/imake.tex is Mark Moraes' R3/R4
  886. guide to imake.
  887.     - the R5 mit/doc/config/usenixws/paper.ms contains a paper by Jim
  888. Fulton on an early version of Imake
  889.     - Paul DuBois (dubois@primate.wisc.edu) has written a useful 
  890. explanation of how Imake works and how to use it in configuring X for non-
  891. supported systems; the document is available from ftp.primate.wisc.edu
  892. in the directory ~ftp/pub/imake-stuff; look for config-X11R4.ms (troff) and 
  893. config-X11R4.ps (PostScript). Some supplemental appendices are nearby. 
  894. [7/91: document version is now 1.06] These imake papers are available by email;
  895. mail a message body of "send imake-stuff help" to almanac@primate.wisc.edu.
  896. They are also available by gopher to gopher.primate.wisc.edu under "Primate 
  897. Center Software Archives".
  898.     - see "System Administration - Imake: Friend or Foe?" by Dinah McNutt
  899. in the November 1991 issue of SunExpert.
  900.     - German readers should expect in June 1992 an article "Das Meta-Make 
  901. / I make, you make / Schwerelos" by Rainer Klute in "iX 
  902. Multiuser-Multitasking-Magazin", directed at application programmers needing to
  903. write Imakefiles. An English-language derivative of this article is in The
  904. X Journal, issue 2:1.
  905.     - The O'Reilly X Resource issue #2 contains Paul Davey's article on
  906. demystifying Imake.
  907.     - Alain Brossard's working document full of tips on Imake is in 
  908. sasun1.epfl.ch:pub/imakefile.1.Z.
  909.     - O'Reilly has published (7/93) "Software Portability with imake" by 
  910. Paul DuBois; ISBN 1-56592-055-4. The books electronic counterparts are on
  911. ftp.primate.wisc.edu in pub/imake-book; imake.tar.Z is a stand-alone imake
  912. installation.
  913.  
  914. [1/91;12/91;5/92;8/92;7/93]
  915.  
  916. ----------------------------------------------------------------------
  917. Subject: 114)  Where can I get imake?
  918.  
  919.     Versions are distributed with the R4 and R5 releases. An earlier 
  920. version is distributed with the X11R3 release; some third-party toolkits 
  921. redistribute versions of imake along with their own implementations of the 
  922. template and configuration files. There are no real standards for such 
  923. configuration files, although most *current* contributed software expects the 
  924. templates distributed with X11R5.
  925.     ftp.x.org contains the R5 distribution unpacked, so you can pick up 
  926. imake without picking up the entire distribution.
  927.     A stand-alone version of Imake, but one stemming from X11R5, is in
  928. ftp.germany.eu.net:pub/X11/misc/imake/imake-pure.tar.Z (192.76.144.75).
  929.     A stand-alone version of Imake, but one stemming from X11R5, is in
  930. ftp.primate.wisc.edu:pub/imake-book/imake.tar.Z.
  931.  
  932. ----------------------------------------------------------------------
  933. Subject: 115)  I have a program with an Imakefile but no Makefile. What to do?
  934.  
  935.     If you have R4 or R5 installed on your system, run "xmkmf". This is a 
  936. script which runs imake for you with the correct arguments. The output is a 
  937. Makefile configured for your system and based on the Imakefile. Then run make, 
  938. which will use that new Makefile to compile the program.
  939.  
  940. ----------------------------------------------------------------------
  941. Subject: 116)  Why can't I link to the Xlib shape routines?
  942. When I try to compile certain programs, I get the following link error:
  943.     Undefined:
  944.     _XShapeQueryExtension
  945.     _XShapeCombineMask
  946.  
  947.     These routines are actually part of the Shape Extension to X (SHAPE)
  948. which was introduced in the X11R4 distribution and allows non-rectangular
  949. windows.  Like the other sample server extensions, the shape extension will 
  950. only run on a server which supports it.  Pre-X11R4 servers, as well as many 
  951. vendor-supplied servers, do not support the shape extension, in which case 
  952. they will display rectangular windows anyway.
  953.  
  954.     In order to use the shape extension, you must link to the library 
  955. libXext.a.  In the X11R4 distribution, this library and the associated includes
  956. will be in the mit/extensions directory.  If you do not have these files, do 
  957. not despair:  many freeware programs which use the shape extension can also be 
  958. compiled without it by removing the -DSHAPE define from the Makefile; you can
  959. probably do this and compile successfully against your older vendor-supplied X 
  960. libraries.
  961.  
  962. [from John B. Melby, melby%yk.fujitsu.co.jp@uunet.uu.net, 3/91]
  963.  
  964. ----------------------------------------------------------------------
  965. Subject: 117)  What are these problems with "_XtInherit not found" on the Sun?
  966. When I link a X program that I wrote on a SunOS 4.0.3 or 4.1 machine I get the 
  967. error "ld.so: symbol not found _XtInherit".
  968.  
  969.     What you are seeing is a side-effect of a kludge in the R4 libXt.a to 
  970. get Sun shared libraries working.  Apparently, you can't share a function that 
  971. is both called and compared, as _XtInherit is. This was handled by putting 
  972. _XtInherit in the same file as a function that is always used, thereby 
  973. guaranteeing that it would be loaded -- that is, in Initialize.c, where 
  974. XtToolkitInitialize() and XtInitialize() reside. These routines would normally
  975. be called.
  976.  
  977.     You are probably seeing this error because your program is not a normal
  978. Xt-based program and does not call XtToolkitInitialize() anywhere. 
  979.     1) it may be a program that uses Xt functions but never opens a 
  980. connection to the X server.  [OSF/Motif's 1.1.0 UIL had this problem; it called
  981. XtMalloc() and other Xt functions.] The solution is to add the call to your 
  982. program; the function does not have to be executed, just linked in.
  983.     2) alternatively, your program doesn't need any Xt functions and is
  984. correct in not calling XtToolkitInitialize() -- it may be an Xlib or XView 
  985. program. In this case, you can remove -lXt from your link command. 
  986.  
  987.     It should not be necessary to link the shared libraries statically,
  988. although this will certainly solve the problem.
  989.     
  990. [from Jordan Hayes (now jordan@MooreNet.COM) and Danny Backx (db@sunbim.be); 
  991. 11/90]
  992.  
  993. You may also see this error compiling X11R5 programs on a SunOS 4.1.3 machine;
  994. be sure to set OSTeenyVersion to 3 in the config/sun.cf file.
  995.  
  996. ----------------------------------------------------------------------
  997. Subject: 118)  TOPIC: PROGRAMMING PROBLEMS AND PUZZLES
  998. ----------------------------------------------------------------------
  999. Subject: 119)  Why doesn't my program get the keystrokes I select for (sic)?
  1000.  
  1001.     The window manager controls how the input focus is transferred from one
  1002. window to another.  In order to get keystrokes, your program must ask the
  1003. window manager for the input focus.  To do this, you must set up what are
  1004. called "hints" for the window manager.  If your applications is Xlib-based, you
  1005. can use something like the following:
  1006.  
  1007.         XWMHints wmhints;
  1008.         ...
  1009.         wmhints.flags = InputHint;
  1010.         wmhints.input = True;
  1011.         XSetWMHints(dpy, window, &wmhints)
  1012.  
  1013. If your application is based on the Xt Intrinsics, you can set the XtNinput 
  1014. resource to be True (as you probably want to in any case); if you don't have
  1015. source, you can start up the application with the resource '*input:True'.
  1016.  
  1017. Certain window managers, notably dxwm and olwm, are very picky about having 
  1018. this done. 
  1019.  
  1020.     If you are using Sun's OpenWindows olwm, you can also add this resource
  1021. to your defaults file to use clients that aren't ICCCM-compliant.
  1022.     OpenWindows.FocusLenience:       true
  1023.  
  1024. [mostly courtesy Dave Lemke of NCD and Stuart Marks of Sun]
  1025.  
  1026. ----------------------------------------------------------------------
  1027. Subject: 120)  How do I deiconify a window?
  1028.  
  1029. To de-iconify a window, map it with XMapWindow().  To iconify a window, use 
  1030. XIconifyWindow().
  1031.  
  1032. ----------------------------------------------------------------------
  1033. Subject: 121)  How do I figure out what window manager is running?
  1034.  
  1035.     You can't reliably tell; whatever mechanism you could use could be
  1036. spoofed in any case. 
  1037.     For most cases, you shouldn't care which window manager is running, so 
  1038. long as you do things in an ICCCM-conformant manner. There are some cases in 
  1039. which particular window managers are known to do things wrong; checking for
  1040. particular hints placed on the window by the window manager so that you can 
  1041. sidestep the problem may be appropriate in these cases. Alternatively, it may 
  1042. be appropriate to determine which window manager is running in order to take
  1043. advantage of specific *added* features (such as olwm's push-pin menus) in order
  1044. to give your program *added* functionality. Beware of usurping the window 
  1045. manager's functions by providing that functionality even when it is missing;
  1046. this surely leads to future compatibility problems.
  1047.  
  1048. ----------------------------------------------------------------------
  1049. Subject: 122)  Is there a skeleton X program available?
  1050.     
  1051.     There is no general framework such as the TransSkel program for the 
  1052. Macintosh which handles lots of the odds and ends and overhead of development 
  1053. under a window system and which can be used as a platform for additional 
  1054. development. In X, the problem is typically solved by using an interactive 
  1055. application builder tool or by using cut&paste on existing X applications. Good
  1056. applications which you might look to manipulate when you want to "test just 
  1057. this one little thing" include contrib/clients/xskel, a simple R4 program that 
  1058. puts up a window and allows sketching in it and offers a starting point for
  1059. quick hacks, the Xaw examples in the examples/ directory in the R3 and R4 
  1060. distributions, and the Xlib "Hello World" example in the R3 doc/HelloWorld and 
  1061. R4 doc/tutorials/HelloWorld; an updated version of this program which uses R4 
  1062. Xlib calls and current ICCCM conventions was posted in 2/90 to comp.windows.x  
  1063. by Glenn Widener of Tektronix.     [3/90]
  1064.  
  1065.     In addition, a sample Xt program (for Xaw or Xm) by Rainer Klute 
  1066. showing how to open multiple displays and how to catch a broken display 
  1067. connection is available on ftp.x.org in contrib/mdisp.tar.Z. [4/92] 
  1068.     A sample multi-display Xt/Xaw program by Oliver Jones is on ftp.x.org
  1069. in contrib/MultiUserVote.tar.Z. (See also his article in The X Resource, Issue 
  1070. 3, "Multi-User Application Software Using Xt".)
  1071.  
  1072. ----------------------------------------------------------------------
  1073.  
  1074. David B. Lewis                     faq%craft@uunet.uu.net
  1075.  
  1076.         "Just the FAQs, ma'am." -- Joe Friday 
  1077. -- 
  1078. David B. Lewis        Temporarily at but not speaking for Visual, Inc.
  1079. day: dbl@visual.com    evening: david%craft@uunet.uu.net
  1080.